package com.yungu.swift.system.finance.dao;

import com.github.miemiedev.mybatis.paginator.domain.PageBounds;
import com.github.miemiedev.mybatis.paginator.domain.PageList;
import com.yungu.swift.base.mapper.IMapper;
import com.yungu.swift.system.finance.model.dto.FinanceInviteRewardDto;
import com.yungu.swift.system.finance.model.vo.FinanceDriverRewardVo;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

public interface FinanceInviteRewardMapper extends IMapper<FinanceInviteRewardDto> {

    /**
     * 获取司机奖励记录
     *
     * @param paramMap, pageBounds
     * @return
     */
    PageList<FinanceDriverRewardVo> driverRewardPage(Map<String, Object> paramMap, PageBounds pageBounds);


    /**
     * 司机奖励记录导出 —— 注意与分页方法名一致
     *
     * @param paramMap
     * @return
     */
    List<FinanceDriverRewardVo> driverRewardPage(Map<String, Object> paramMap);

    /**
     * 通过司机id和科目获取司机总奖励金额
     *
     * @param driverUuid 司机id
     * @param course     科目
     * @return
     */
    BigDecimal getSumDriverAwardAmount(@Param("driverUuid") String driverUuid, @Param("course") Integer course);
}